//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
//

package com.restaurant.application.genshanguser.support;

import com.google.common.collect.Lists;
import com.nebutown.generation.Convert;
import com.nebutown.generation.PickableBean;
import com.nebutown.generation.basictype.UID;
import java.util.List;
import java.util.stream.Collectors;

public class GenShangUserData implements PickableBean {
    public static final String FN_ID = "id";
    public static final String FN_NUMBER = "number";
    public static final String FN_CREATETIME = "createTime";
    public static final String FN_MODIFYTIME = "modifyTime";
    public static final String FN_AVATARURL = "avatarUrl";
    public static final String FN_NICKNAME = "nickName";
    public static final String FN_REALNAME = "realName";
    public static final String FN_PASSWORD = "password";
    public static final String FN_GENDER = "gender";
    public static final String FN_PHONE = "phone";
    public static final String FN_ADMINORNOT = "adminOrNot";
    public static final String FN_STATE = "state";
    public static final String FN_SHOPUID = "shopUid";
    public static final String FN_SHOPNAME = "shopName";
    public static final String FN_WIDEDESKTOP = "wideDesktop";
    public static final String FN_ROLENAMELIST = "roleNameList";
    public static final List<String> FIELD_NAMES = Lists.newArrayList(new String[]{"id", "number", "createTime", "modifyTime", "avatarUrl", "nickName", "realName", "password", "gender", "phone", "adminOrNot", "state", "shopUid", "shopName", "wideDesktop", "roleNameList"});
    private String id;
    private String number;
    private Long createTime;
    private Long modifyTime;
    private String avatarUrl;
    private String nickName;
    private String realName;
    private String password;
    private String gender;
    private String phone;
    private Boolean adminOrNot;
    private String state;
    private UID shopUid;
    private String shopName;
    private UID wideDesktop;
    private List<String> roleNameList;

    public GenShangUserData(String id, String number, Long createTime, Long modifyTime, String avatarUrl, String nickName, String realName, String password, String gender, String phone, Boolean adminOrNot, String state, UID shopUid, String shopName, UID wideDesktop, List<String> roleNameList) {
        this.setId(id);
        this.setNumber(number);
        this.setCreateTime(createTime);
        this.setModifyTime(modifyTime);
        this.setAvatarUrl(avatarUrl);
        this.setNickName(nickName);
        this.setRealName(realName);
        this.setPassword(password);
        this.setGender(gender);
        this.setPhone(phone);
        this.setAdminOrNot(adminOrNot);
        this.setState(state);
        this.setShopUid(shopUid);
        this.setShopName(shopName);
        this.setWideDesktop(wideDesktop);
        this.setRoleNameList(roleNameList);
    }

    public GenShangUserData() {
    }

    public GenShangUserData duplicate() {
        GenShangUserData result = new GenShangUserData();
        result.id = this.id;
        result.number = this.number;
        result.createTime = this.createTime;
        result.modifyTime = this.modifyTime;
        result.avatarUrl = this.avatarUrl;
        result.nickName = this.nickName;
        result.realName = this.realName;
        result.password = this.password;
        result.gender = this.gender;
        result.phone = this.phone;
        result.adminOrNot = this.adminOrNot;
        result.state = this.state;
        result.shopUid = this.shopUid;
        result.shopName = this.shopName;
        result.wideDesktop = this.wideDesktop;
        result.roleNameList = this.roleNameList == null ? null : (List)this.roleNameList.stream().map((e1) -> {
            return e1;
        }).collect(Collectors.toList());
        return result;
    }

    public String toString() {
        return Convert.toJson(this);
    }

    public String getId() {
        return this.id;
    }

    public void setId(String value) {
        this.id = value;
    }

    public GenShangUserData withId(String value) {
        this.setId(value);
        return this;
    }

    public GenShangUserData withId(String value, String defaultValue) {
        this.setId(value == null ? defaultValue : value);
        return this;
    }

    public String getNumber() {
        return this.number;
    }

    public void setNumber(String value) {
        this.number = value;
    }

    public GenShangUserData withNumber(String value) {
        this.setNumber(value);
        return this;
    }

    public GenShangUserData withNumber(String value, String defaultValue) {
        this.setNumber(value == null ? defaultValue : value);
        return this;
    }

    public Long getCreateTime() {
        return this.createTime;
    }

    public void setCreateTime(Long value) {
        this.createTime = value;
    }

    public GenShangUserData withCreateTime(Long value) {
        this.setCreateTime(value);
        return this;
    }

    public GenShangUserData withCreateTime(Long value, Long defaultValue) {
        this.setCreateTime(value == null ? defaultValue : value);
        return this;
    }

    public Long getModifyTime() {
        return this.modifyTime;
    }

    public void setModifyTime(Long value) {
        this.modifyTime = value;
    }

    public GenShangUserData withModifyTime(Long value) {
        this.setModifyTime(value);
        return this;
    }

    public GenShangUserData withModifyTime(Long value, Long defaultValue) {
        this.setModifyTime(value == null ? defaultValue : value);
        return this;
    }

    public String getAvatarUrl() {
        return this.avatarUrl;
    }

    public void setAvatarUrl(String value) {
        this.avatarUrl = value;
    }

    public GenShangUserData withAvatarUrl(String value) {
        this.setAvatarUrl(value);
        return this;
    }

    public GenShangUserData withAvatarUrl(String value, String defaultValue) {
        this.setAvatarUrl(value == null ? defaultValue : value);
        return this;
    }

    public String getNickName() {
        return this.nickName;
    }

    public void setNickName(String value) {
        this.nickName = value;
    }

    public GenShangUserData withNickName(String value) {
        this.setNickName(value);
        return this;
    }

    public GenShangUserData withNickName(String value, String defaultValue) {
        this.setNickName(value == null ? defaultValue : value);
        return this;
    }

    public String getRealName() {
        return this.realName;
    }

    public void setRealName(String value) {
        this.realName = value;
    }

    public GenShangUserData withRealName(String value) {
        this.setRealName(value);
        return this;
    }

    public GenShangUserData withRealName(String value, String defaultValue) {
        this.setRealName(value == null ? defaultValue : value);
        return this;
    }

    public String getPassword() {
        return this.password;
    }

    public void setPassword(String value) {
        this.password = value;
    }

    public GenShangUserData withPassword(String value) {
        this.setPassword(value);
        return this;
    }

    public GenShangUserData withPassword(String value, String defaultValue) {
        this.setPassword(value == null ? defaultValue : value);
        return this;
    }

    public String getGender() {
        return this.gender;
    }

    public void setGender(String value) {
        this.gender = value;
    }

    public GenShangUserData withGender(String value) {
        this.setGender(value);
        return this;
    }

    public GenShangUserData withGender(String value, String defaultValue) {
        this.setGender(value == null ? defaultValue : value);
        return this;
    }

    public String getPhone() {
        return this.phone;
    }

    public void setPhone(String value) {
        this.phone = value;
    }

    public GenShangUserData withPhone(String value) {
        this.setPhone(value);
        return this;
    }

    public GenShangUserData withPhone(String value, String defaultValue) {
        this.setPhone(value == null ? defaultValue : value);
        return this;
    }

    public Boolean getAdminOrNot() {
        return this.adminOrNot;
    }

    public void setAdminOrNot(Boolean value) {
        this.adminOrNot = value;
    }

    public GenShangUserData withAdminOrNot(Boolean value) {
        this.setAdminOrNot(value);
        return this;
    }

    public GenShangUserData withAdminOrNot(Boolean value, Boolean defaultValue) {
        this.setAdminOrNot(value == null ? defaultValue : value);
        return this;
    }

    public String getState() {
        return this.state;
    }

    public void setState(String value) {
        this.state = value;
    }

    public GenShangUserData withState(String value) {
        this.setState(value);
        return this;
    }

    public GenShangUserData withState(String value, String defaultValue) {
        this.setState(value == null ? defaultValue : value);
        return this;
    }

    public UID getShopUid() {
        return this.shopUid;
    }

    public void setShopUid(UID value) {
        this.shopUid = value;
    }

    public GenShangUserData withShopUid(UID value) {
        this.setShopUid(value);
        return this;
    }

    public GenShangUserData withShopUid(UID value, UID defaultValue) {
        this.setShopUid(value == null ? defaultValue : value);
        return this;
    }

    public String getShopName() {
        return this.shopName;
    }

    public void setShopName(String value) {
        this.shopName = value;
    }

    public GenShangUserData withShopName(String value) {
        this.setShopName(value);
        return this;
    }

    public GenShangUserData withShopName(String value, String defaultValue) {
        this.setShopName(value == null ? defaultValue : value);
        return this;
    }

    public UID getWideDesktop() {
        return this.wideDesktop;
    }

    public void setWideDesktop(UID value) {
        this.wideDesktop = value;
    }

    public GenShangUserData withWideDesktop(UID value) {
        this.setWideDesktop(value);
        return this;
    }

    public GenShangUserData withWideDesktop(UID value, UID defaultValue) {
        this.setWideDesktop(value == null ? defaultValue : value);
        return this;
    }

    public List<String> getRoleNameList() {
        if (this.roleNameList == null) {
            this.roleNameList = Lists.newArrayList();
        }

        return this.roleNameList;
    }

    public void setRoleNameList(List<String> value) {
        this.roleNameList = value;
    }

    public GenShangUserData withRoleNameList(List<String> value) {
        this.setRoleNameList(value);
        return this;
    }

    public GenShangUserData withRoleNameList(List<String> value, List<String> defaultValue) {
        this.setRoleNameList(value == null ? defaultValue : value);
        return this;
    }

    public GenShangUserData addRoleNameList(String value) {
        if (this.roleNameList == null) {
            this.roleNameList = Lists.newArrayList();
        }

        this.roleNameList.add(value);
        return this;
    }

    public Object getValueOf(String name) {
        byte var3 = -1;
        switch(name.hashCode()) {
            case -1249512767:
                if (name.equals("gender")) {
                    var3 = 8;
                }
                break;
            case -1034364087:
                if (name.equals("number")) {
                    var3 = 1;
                }
                break;
            case -860337847:
                if (name.equals("realName")) {
                    var3 = 6;
                }
                break;
            case -428646058:
                if (name.equals("avatarUrl")) {
                    var3 = 4;
                }
                break;
            case -345481567:
                if (name.equals("shopName")) {
                    var3 = 13;
                }
                break;
            case -70487969:
                if (name.equals("roleNameList")) {
                    var3 = 15;
                }
                break;
            case 3355:
                if (name.equals("id")) {
                    var3 = 0;
                }
                break;
            case 69737614:
                if (name.equals("nickName")) {
                    var3 = 5;
                }
                break;
            case 106642798:
                if (name.equals("phone")) {
                    var3 = 9;
                }
                break;
            case 109757585:
                if (name.equals("state")) {
                    var3 = 11;
                }
                break;
            case 252229065:
                if (name.equals("wideDesktop")) {
                    var3 = 14;
                }
                break;
            case 673250273:
                if (name.equals("adminOrNot")) {
                    var3 = 10;
                }
                break;
            case 1211388583:
                if (name.equals("modifyTime")) {
                    var3 = 3;
                }
                break;
            case 1216985755:
                if (name.equals("password")) {
                    var3 = 7;
                }
                break;
            case 1369213417:
                if (name.equals("createTime")) {
                    var3 = 2;
                }
                break;
            case 2067072378:
                if (name.equals("shopUid")) {
                    var3 = 12;
                }
        }

        switch(var3) {
            case 0:
                return this.getId();
            case 1:
                return this.getNumber();
            case 2:
                return this.getCreateTime();
            case 3:
                return this.getModifyTime();
            case 4:
                return this.getAvatarUrl();
            case 5:
                return this.getNickName();
            case 6:
                return this.getRealName();
            case 7:
                return this.getPassword();
            case 8:
                return this.getGender();
            case 9:
                return this.getPhone();
            case 10:
                return this.getAdminOrNot();
            case 11:
                return this.getState();
            case 12:
                return this.getShopUid();
            case 13:
                return this.getShopName();
            case 14:
                return this.getWideDesktop();
            case 15:
                return this.getRoleNameList();
            default:
                return null;
        }
    }

    public void setValueOf(String name, Object value) {
        byte var4 = -1;
        switch(name.hashCode()) {
            case -1249512767:
                if (name.equals("gender")) {
                    var4 = 8;
                }
                break;
            case -1034364087:
                if (name.equals("number")) {
                    var4 = 1;
                }
                break;
            case -860337847:
                if (name.equals("realName")) {
                    var4 = 6;
                }
                break;
            case -428646058:
                if (name.equals("avatarUrl")) {
                    var4 = 4;
                }
                break;
            case -345481567:
                if (name.equals("shopName")) {
                    var4 = 13;
                }
                break;
            case -70487969:
                if (name.equals("roleNameList")) {
                    var4 = 15;
                }
                break;
            case 3355:
                if (name.equals("id")) {
                    var4 = 0;
                }
                break;
            case 69737614:
                if (name.equals("nickName")) {
                    var4 = 5;
                }
                break;
            case 106642798:
                if (name.equals("phone")) {
                    var4 = 9;
                }
                break;
            case 109757585:
                if (name.equals("state")) {
                    var4 = 11;
                }
                break;
            case 252229065:
                if (name.equals("wideDesktop")) {
                    var4 = 14;
                }
                break;
            case 673250273:
                if (name.equals("adminOrNot")) {
                    var4 = 10;
                }
                break;
            case 1211388583:
                if (name.equals("modifyTime")) {
                    var4 = 3;
                }
                break;
            case 1216985755:
                if (name.equals("password")) {
                    var4 = 7;
                }
                break;
            case 1369213417:
                if (name.equals("createTime")) {
                    var4 = 2;
                }
                break;
            case 2067072378:
                if (name.equals("shopUid")) {
                    var4 = 12;
                }
        }

        switch(var4) {
            case 0:
                this.setId((String)value);
                return;
            case 1:
                this.setNumber((String)value);
                return;
            case 2:
                this.setCreateTime((Long)value);
                return;
            case 3:
                this.setModifyTime((Long)value);
                return;
            case 4:
                this.setAvatarUrl((String)value);
                return;
            case 5:
                this.setNickName((String)value);
                return;
            case 6:
                this.setRealName((String)value);
                return;
            case 7:
                this.setPassword((String)value);
                return;
            case 8:
                this.setGender((String)value);
                return;
            case 9:
                this.setPhone((String)value);
                return;
            case 10:
                this.setAdminOrNot((Boolean)value);
                return;
            case 11:
                this.setState((String)value);
                return;
            case 12:
                this.setShopUid((UID)value);
                return;
            case 13:
                this.setShopName((String)value);
                return;
            case 14:
                this.setWideDesktop((UID)value);
                return;
            case 15:
                this.setRoleNameList((List)value);
                return;
            default:
        }
    }

    public boolean hasField(String name) {
        return FIELD_NAMES.contains(name);
    }

    public int hashCode() {
        return this.signature().hashCode();
    }

    public boolean equals(Object o) {
        return !(o instanceof GenShangUserData) ? false : this.signature().equals(((GenShangUserData)o).signature());
    }

    public String signature() {
        throw new RuntimeException("Bean GenShangUserData has no signature defined, no hash code or equals possible.");
    }
}
